Requirements for Facebook

Learn about all requirements of Facebook.

We'll cover the following

In this lesson, we’ll list the requirements of Facebook. This is a very crucial step as requirements define the scope of a problem, so getting them right from the interviewer and understanding them well will make the design of the rest of the system smooth and easy.

We’ll use the notational convention to identify each requirement with a unique label "Rn", where "R" is short for Requirement and "n" is a natural number.

Requirements collection#

The requirements for Facebook are defined below:

R1: Users should be able to set the privacy of their profile page. They should also be able to create their profile page and add information such as work experience, education, and place of living.

R2: Users of our system should be able to search for groups, pages, and other users.

R3: Users should be able to write a new post and set its privacy.

R4: Users should be able to send as well as respond to the friend requests of other users. Users should also be able to unfriend or block other users.

R5: Users should be able to follow other users without adding them to their friend list.

R6: Users should be able to like, share, and comment on a post. They should also be able to like or comment on an existing comment.

R7: The system should send the user a notification whenever there has been an interaction with them, such as receiving a message, a friend request, or a comment on their post.

R8: A user should be able to send messages and receive messages from other users.

R9: Users should be able to follow existing pages and join existing groups. They should also be able to unfollow or leave joined groups or followed pages.

R10: Users should be able to create their own groups and pages. Users can later set privacy or delete the groups or pages they own.

We've identified our requirements for the problem, and in the next lesson, we will define different use cases of Facebook.

Getting Ready: The Facebook System

Use Case Diagram for Facebook